perl 文件内容替换 | 您所在的位置:网站首页 › windows脚本 修改文件内容 › perl 文件内容替换 |
命令: perl 命令可以批量替换文件中的一些内容,操作起来非常高效。下面举几个例子: perl -pi -e "s/aaa/bbb/gi" test.txt上面的命令把test.txt文件中的字符aaa替换成bbb perl -pi.bak -e "s/aaa/bbb/gi" test.txt上面的命令把test.txt文件中的字符aaa替换成bbb,并生成一个test.txt.bak的备份文件 find ./ -name "*.txt" | xargs perl -pi.bak -e "s/aaa/bbb/gi"上面的命令把当前目录下所有的.txt文件中的字符aaa替换成bbb,并生成相应的.bak的备份文件 注意:如果是报错can‘t do inpalce without backup ,请执行第二种方案,针对window进行验证过。 -p 告诉Perl对后面添加的文件名参数进行遍历,大致和sed中的这段代码效果类似-i 大致是用来读取文件时进行备份操作。-e 告诉Perl后面跟上perl语句 -p和-i可以合在一起-pi,-p -e也可以何在一起,但是-i,-e不能合在一起写-ie。
1. File::Find实现文件夹下文件内容的批量修改 点击(此处)折叠或打开 use strict; use warnings; use File::Find; my $root="D:\\workspaces\\test"; find(\&handle, $root); sub handle { my $file = $File::Find::name; return if -d $file; open (IN, $file) or die "$!, opening $file\n"; open (OUT, ">TEMP") or die "$!, opening TEST\n"; while (my $line = ) { $line =~ s/xxx;/yyy;/g; print OUT $line; } close OUT; close IN; rename("TEMP", $file); unlink("TEMP"); } |
CopyRight 2018-2019 实验室设备网 版权所有 |